Webpack 除了提供可执行的命令行工具外,还提供可在 Node.js 环境中调用的库。 通过 Webpack 暴露的 API,可直接在 Node.js 程序中调用 Webpack 执行构建。
通过 API 去调用并执行 Webpack 比直接通过可执行文件启动更加灵活,可用在一些特殊场景,下面将教你如何使用 Webpack 提供的 API。
Webpack 其实是一个 Node.js 应用程序,它全部通过 JavaScript 开发完成。 在命令行中执行
webpack命令其实等价于执行node ./node_modules/webpack/bin/webpack.js。
在调用 Webpack API 前,需要先安装它:
npm i -D webpack
安装成功后,可以采用以下代码导入 Webpack 模块:
const webpack = require('webpack');
// ES6 语法
import webpack from "webpack";
导出的 webpack 其实是一个函数,使用方法如下:
webpack({
// Webpack 配置,和 webpack.config.js 文件一致
}, (err, stats) => {
if (err || stats.hasErrors()) {
// 构建过程出错
}
// 成功执行完构建
});
如果你的 Webpack 配置写在 webpack.config.js 文件中,可以这样使用:
// 读取 webpack.config.js 文件中的配置
const config = require('./webpack.config.js');
webpack(config , callback);
以上使用 Webpack API 的方法只能执行一次构建,无法以监听模式启动 Webpack,为了在使用 API 时以监听模式启动,需要获取 Compiler 实例,方法如下: